The present invention relates to electronic calculators and in particular to calculators of the kind commonly used at present by most people and especially by schoolchildren and students,
The widespread use of calculators by schoolchildren and students has over the years tended to engender complete reliance on them at the expense of the student""s losing quantitative conception, feel for numbers and the ability to carry out calculations by mental arithmetic, even approximately.
One attempted solution to this problem has been simply to attempt to ban the use of calculators in certain situations. This too is wrong. Once people having mastered manual arithmetic for them to continue to do so manually only is a waste of time. The use of calculators is there to avoid this waste of time. Also, manual calculations, such as long multiplication and long division, often do not throw much light on the expected values and are prone to undetected gross mistakes.
The present invention is concerned with providing a calculator which addresses these problems and provides a solution which reconciles the currently contradictory demands and views associated with this problem. The present invention is concerned with getting schoolchildren and students who use calculators to actually do some thinking as they do so.
According to the present invention, there is provided an electronic calculator having means for enabling a user to input a calculation, characterised in that the calculator has a mode of operation in which, after entering a calculation to be performed by the calculator, the user is required to input additionally an estimate of the result of the calculation and, for at least a predetermined number of attempts, the result of the calculation is displayed by the calculator only if the estimate lies within a predetermined tolerance range of the correct result.
In the preferred embodiment of the invention, the tolerance range is determined by the calculator in dependence upon the nature of the operators, the numerical value of the operands in the calculation and any tolerance range of the operands.
There now follows an explanation of the intended meaning of a number of terms which are used in this patent specification:
Predetermined Tolerance
This term could refer to a fixed tolerance expressed either as an absolute value (for example xc2x110) or as a percentage of the result (for example xc2x110%). In the preferred embodiments described below, however, this term is used to refer to a case-specific actual tolerance which is worked out by the calculator using predetermined rules or algorithms, that is, rules that are built into the calculator for establishing the actual tolerance for each particular case of operation type and operands value and their previously established tolerances, if any.
Operations String
The term refers to an arithmetic calculation which comprises at least two distinct stages or arithmetic operations. For example the sum A+B comprises a single stage and single operator xe2x80x98+xe2x80x99 whereas the sum (A+B)xc2x7C comprises two stages and two operators, namely addition operator xe2x80x98+xe2x80x99 and multiplication operator xe2x80x98xc2x7xe2x80x99. Thus an operations string includes at least two operators and/or functions e.g. sin (A+B), the operators being xe2x80x98sinxe2x80x99 and xe2x80x98+xe2x80x99.
Type of Calculator
The present invention is applicable to the range from so-called four function calculators to typical so-called scientific calculators (i.e. containing some or all of trigonometric, exponential, logarithmic, roots, reciprocal, factorial function keys) which employ numbered memories, multi-level brackets, M+ and Mxe2x88x92 keys and correct operations order hierarchy, i.e.: function, xe2x80x98xc2x7xe2x80x99, xe2x80x98÷xe2x80x99, xe2x80x98+xe2x80x99 and xe2x80x98xe2x88x92xe2x80x99, e.g. if the keyed in order is A+Bxc2x7C cosine, cosine C is evaluated out first, then this result is multiplied by B and to this result A is added.
Operations Strings and Tolerances
Unless stated otherwise the display displays only keyed in numbers and no intermediate result. There are two approaches to calculating the tolerances which apply to an operations string i.e. to calculations which have at least two stages or operators.
Approach I is to have the tolerances of the operations built up successively as the calculation progresses through the string of stages from beginning to end, i.e. the total end tolerance is some form of accumulation of the individual tolerances of the successive stages. Only upon xe2x80x98=xe2x80x99 has the user to key in the estimate which is then checked by the calculator, and if it is found to be within the total end tolerance the correct result is displayed. Thereafter, if the user wishes, he can continue with further stages, using the result of the previous xe2x80x98=xe2x80x99 as the next operand.
Approach II would be to halt the calculation after every stage, test the user""s estimate against the correct answer up to that point and if within the acceptable tolerance then display the correct result of the sub-calculation and then continue with the next stage using the correct intermediate figure as its starting point.
Tolerances
Each stage in a string (or where there is only a single stage) consists of operand 1, operator, operand 2, or example
4xc2x75,
or operand, function, operand 2 if required by function, for example
31 sine (or sin(31)xe2x88x92in EOS), or 3 xy 6.2 (these are the keys that have to be operated.)
The operands are either keyed in numbers, or memory recall numbers or, in cases of strings, results from previous stages. The operation of each stage of the calculation receives a xe2x80x98xc2x1xe2x80x99 tolerance which is the acceptable range for the mental estimate of this operation.
In the simplest case, that of a single stage (or always in Approach II) e.g. A+B or Axc2x7B (A and B being keyed in numbers), the tolerance is calculated according to the rules relating to the respective operation, hereafter referred to xe2x80x98tol(op)xe2x80x99. The rules are detailed later.
In Approach I, in the case of a stage in the string where both operands are results of previous stages, e.g.: the adding stage in Axc2x7B+C/D, it is necessary to represent the fact that the added quantities already have a tolerance which resulted from the earlier stage in which they were calculated, namely, the tolerances resulting from the multiplication Axc3x97B and division C/D. Therefore the total tolerance after the addition stage in Axc2x7B+C/D is the combination of tol(Axc2x7B), tol(C/D) and the tolerance of the addition. Using E for the result of Axc2x7B and F for the result C/D the tolerance following the addition can be written as
tol(E) xe2x80x9c+xe2x80x9d tol(F) xe2x80x9c+xe2x80x9d tol(op); tol(op) in this case is tol(+).
The addition operator is placed in inverted commas to express the fact that tolerances are not necessarily added up arithmetically but could be cumulatively combined in other ways e.g. RSS (Root Sum(of) Squares) specifically for +, xe2x88x92 operations the combined absolute tolerances would be the RSS of the absolute values of the tolerances of the operands and the tolerance of the operation (see example [E.4] below), while for xc2x7, ÷ operations the combined relative tolerance would be the RSS of the relative value of the tolerances of the operands and the operation.
Considering the tolerance of the adding stage of Axc2x7B+C where the Axc2x7B has already been carried out and C is keyed in the complete tolerance is built up from the tolerances resulting from the Axc2x7B stage and from tol(+). (C has no tolerance because it has been keyed in).
Thus, in Approach I in a lengthy string e.g. A+Bxc2x7Cxe2x88x92D/E+Fxc2x7Gxc2x7H=the tolerance would build up until the xe2x80x98=xe2x80x99 is keyed in.
However there are certain cases where the user will preferably have to be asked to make intermediate estimates. This is associated with the prevention of means of extracting the correct result from the calculator without doing any mental arithmetic. The following are circumstances in which such intermediate estimates will be preferably required:
i) When the user closes a bracket. For example in the sum
4xc2x7[6+(5+4xc2x73)+122]
the user will be asked [e.g. by flashing ( )] to make an intermediate estimate of that part of the sum which is contained within the curved brackets and then to make an estimate of the part of the sum contained in the square brackets. If the estimate is acceptable, the correct value of the contents of the respective brackets is displayed, and this quantity then loses its tolerance when used in further stages.
ii) Normally, a number will be put in a store (xe2x80x98STOxe2x80x99), for use later, only it it was just keyed in, or following xe2x80x98=xe2x80x99 or function key, in both of which cases an estimate for it would already have been requested and accepted and then replaced by its correct value, or where this occurs following xe2x80x98)xe2x80x99 (redundant or otherwise). In any other case where the user can store a number the user will be required to make an estimate of the number to be stored, and if accepted, its correct value will be stored. Upon xe2x80x98recallxe2x80x99 the correct value is then displayed, and has no tolerance if used in further stages.
iii) Upon inputting a function, such as a trigonometric function or log function etc, the user will also be required (e.g. by flashing the function name) to make an intermediate estimate of its value. Again if it is acceptable, the correct value will be displayed and used without tolerance.
By providing what is otherwise a standard calculator with the above defined capability it is possible for users to obtain the benefit of calculators provided that they are prepared to exercise sufficient of their mental arithmetical capabilities to obtain at least an acceptable approximation to the correct answer. Thus the mental arithmetical capabilities and quantitative conceptions of users of such calculators will progressively be put into practice every time the calculator is used thus improving the user""s mental arithmetical capabilities whilst at the same time not denying the user the benefits which a calculator provides in avoiding the need for lengthy detailed exact calculations.